Image data transfer control in digital imaging system

ABSTRACT

When a digital camera  100  is connected to an information processing apparatus  101  so that they can communicate with each other, the digital camera  100  generates partial information of attribute information related to each image data stored in the camera  100,  and transmits the partial information of the attribute information to the information processing apparatus  101.

FIELD OF THE INVENTION

[0001] The present invention relates to a technology of image data transfer control that is applicable to a digital imaging system in which an image generating apparatus having therein an image storage device, such as a digital camera, and an information processing apparatus such as a personal computer, are interconnected via a communication line.

BACKGROUND OF THE INVENTION

[0002] Image and/or audio data taken by a digital camera would conventionally be recorded onto a recording device provided in the camera, such as a flash memory, or onto a recording medium freely removable from the camera. Also, a system has been devised and introduced commercially which connects a digital camera with an information processing apparatus such as a computer (referred to as PC hereinafter) through a cable or the like thereby to transfer to the PC information of image data recorded onto a recording device in the digital camera or onto a recording medium removable from the digital camera.

[0003] Upon such data transfer, commonly used protocols are a Picture Transfer Protocol (PTP) which is a standard data transfer protocol tailored to digital cameras, and Mass Storage Class (MSC) which is a so-called removable disk-related protocol. When the MSC is used for connecting the digital camera with the PC, the digital camera is handled simply as an external recording device such as an externally connected hard disk drive (HDD) or a card reader. This allows users to easily access image data in the camera without any particular driver software or technical knowledge.

[0004] The use of the MSC, however, causes the PC to control all file accesses, and is therefore unsuitable for a system which permits concurrent operations of manipulating the camera with operation members provided thereon and of accessing the camera from the PC. In the camera, Read and Write commands are merely executed according to a designated address and length of data and it is difficult to manage data in meaningful units such as files.

[0005] Furthermore, except for users who have detailed knowledge of the PC, many digital camera users, which have been increasing recently, are not familiar with the PC. Such users may have difficulty in identifying the digital camera due to the MSC because the camera is recognized simply as an external storage device on an operation system, so that those users probably get confused.

[0006] On the other hand, when the PTP is used for connecting the digital camera to the PC, it is easy for users to identify the digital camera because, unlike the MSC, the camera is handled not simply as a storage device but as a digital camera on an operating system, and thus operability can be more improved. Also, the PTP is designed for digital cameras, thereby allowing the camera to manage object data by defining data of files as objects.

[0007] Moreover, recently developed operating systems, Windows® XP and MacOSX®, come with a PTP compliant driver from the OS vender so that special driver software is not necessary when connected to the digital camera.

[0008] Also, when the PTP is used, the camera manages data by the object as is described above, and thus it is possible to, relatively more easily than the MSC, configure a system capable of concurrent operations to both the camera and PC. Additionally, it is convenient for users since they can identify the digital camera.

[0009] The PTP, however, possesses the following disadvantage. It is assumed in the PTP that a system is to be configured so that, when the camera is connected to the PC, the camera itself generates attribute information of all object data stored in the camera and PC acquires those attribute information. Therefore, large amount of image data in the camera requires substantial amount of time to be acquired by the PC when the camera is connected thereto, and users thus have to wait long without moving on to the subsequent operations.

SUMMARY OF THE INVENTION

[0010] The present invention has been made in consideration of the above situation, and has its object to provide an operational environment comparatively convenient for users even when large amount of image data is stored in an image storage device of, inter alia, a digital camera.

[0011] According to the present invention, the foregoing object is attained by providing an information acquisition method for an information processing apparatus which acquires attribute information related to image data of images stored in an external device, comprising:

[0012] detecting whether the information processing apparatus is connected to the external device so that they can communicate with each other; and

[0013] acquiring partial information of the attribute information for each of the images when the information processing apparatus is connected to the external device.

[0014] According to the present invention, the foregoing object is also attained by providing an information processing method for an image recording apparatus which generates attribute information related to image data of stored images, comprising:

[0015] detecting whether the image recording apparatus is connected to an external device so that they can communicate with each other;

[0016] generating partial information of the attribute information for each of the images when the image recording apparatus is connected to the external device; and

[0017] transmitting the generated partial information of the attribute information to the external device.

[0018] According to the present invention, the foregoing object is also attained by providing an information processing apparatus comprising:

[0019] a connection unit that is connectable to an external device so to be communicated therewith; and

[0020] an attribute information acquisition unit that acquires attribute information related to image data of images recorded in the external device,

[0021] wherein the attribute information acquisition unit acquires from the external device partial information of the attribute information for each of the images when the information processing apparatus is connected to the external device.

[0022] According to the present invention, the foregoing object is also attained by providing an image recording apparatus comprising:

[0023] an attribute information generation unit that generates attribute information related to image data of recorded images; and

[0024] a transmission unit that transmits the attribute information generated by the attribute information generation unit to an external device, wherein

[0025] when the image recording apparatus is connected to the external device so that they can communicate with each other, the attribute information generation unit generates partial information of the attribute information for each of the images, and the transmission unit transmits the generated partial information to the external device.

[0026] According to the present invention, the foregoing object is also attained by providing an information processing method for a digital imaging system having a digital image generating apparatus and an information processing apparatus, the digital image generating apparatus storing image data of a plurality of generated images as image files in a storage device, the method comprising:

[0027] the image processing apparatus managing a plurality of pieces of attribute information contained in object information related to each of the image files in the digital image generating apparatus in two or more categories; and

[0028] the image processing apparatus creating for each of the image files, an object only containing information in a part of the categories out of the plurality of pieces of attribute information when the digital image generating apparatus is connected to the information processing apparatus.

[0029] Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

[0030] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate an embodiment of the invention and, together with the description, serve to explain the principles of the invention.

[0031]FIG. 1 is a block diagram schematically showing a basic configuration of a digital camera in a digital camera system according to an embodiment of the present invention;

[0032]FIG. 2 is a block diagram showing a basic configuration of an information processing apparatus in the digital camera system according to the embodiment of the present invention;

[0033]FIG. 3 shows an example of a structure of recorded image data in the digital camera;

[0034]FIG. 4 shows an example of a structure of an object tree created by driver software in the information processing apparatus;

[0035]FIG. 5 shows an example of a structure of object attribute information according to the embodiment of the present invention;

[0036]FIG. 6 is a sequence diagram showing a flow since the digital camera is connected to a PC until application software on the PC acquires information of a file according to the embodiment of the present invention; and

[0037]FIG. 7 is a flowchart showing an operation flow of the driver software in the information processing apparatus according to the embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0038] A preferred embodiment of the present invention will be described in detail in accordance with the accompanying drawings.

[0039]FIG. 1 is a schematic block diagram showing a configuration of a digital camera system according to an embodiment of the present invention. The digital camera system according to this embodiment is divided broadly into an information input apparatus such as a digital camera (referred to as digital camera hereinafter) 100 and an information processing apparatus (referred to as PC hereinafter) 101.

[0040] The digital camera 100 comprises an optical unit 105 including a lens, CCD, driving circuit, and the like, a signal processing unit 104 for processing image data and the like, an arithmetic operation unit 103 such as a CPU, a primary storage device 106 such as a DRAM, a secondary storage device 107 such as a built-in flash ROM, an operation member 108, a display member 109 such as a liquid crystal display (LCD), read operation dedicated memory 110 used for program storage, such as a ROM, a removable recording medium 111 such as a compact flash® memory card, and a communication control unit 102 for managing connection with the PC 101.

[0041] The digital camera may have only the removable recording medium 111 or the secondary storage device 107 such as an unremovable built-in flash ROM, depending on a type of the camera.

[0042]FIG. 2 is a diagram showing a main configuration of the PC 101 in the digital camera system according to the embodiment.

[0043] The PC 101 of FIG. 2 generally comprises the following components not shown, which are a central processing unit (CPU), a ChipSet, a primary storage device (DRAM), a BIOS-ROM, a secondary storage device (HDD), a graphics device, a power supply, and the like, and the PC 101 is connected with external devices such as operational devices including a display, keyboard and mouse. The PC 101 is provided with a USB port, which is used to connect with the digital camera 100 in this embodiment. Note that the connecting method is, of course, not limited to the USB, and various known wired or wireless methods can be also employed. Therefore, the camera 100 and the PC 101 may only be so constructed as to communicate with each other by at least one of the above methods.

[0044] In the PC 101, driver software 202 and application software 201 for exchanging data with the digital camera 100 are developed on a DRAM and then executed. The driver software 202 mentioned herein includes a basic module operable to exchange data with the digital camera 100, and is loaded and executed by an operating system at the time when the digital camera 100 is connected to the PC 101 through a USB cable.

[0045] The application software 201 has, for example, user interfaces to provide operation members to end users so that they can acquire or delete image data and the like in the digital camera 100 or control operations of the digital camera 100.

[0046] The following paragraphs describe how the driver software 202 handles image data in the digital camera 100. It is assumed that image data is recorded in the digital camera 100 as structurally shown in FIG. 3. In this drawing, “100CAMERA”, “101CAMERA” and “102CAMERA” each represent a folder, and each image file has an extension “JPG”.

[0047] The folder “100CAMERA” contains IMG_(—)0001.JPG, IMG_(—)0002.JPG and IMG_(—)0003.JPG, and the folder “101CAMERA” contains IMG_(—)0101.JPG and IMG_(—)0102.JPG. Also, the folder “102CAMERA” contains IMG_(—)0201.JPG. When the digital camera 100, which manages the image data by such a folder and file structure, is connected to the PC 101, the operating system retrieves the driver software 202 for the digital camera when connection is detected and then loads it onto the DRAM.

[0048] The loaded driver software 202 acquires image files and folder information from the digital camera 100, and then creates and manages an object tree shown in FIG. 4. The driver software 202 redefines folders and files in the camera 100 as objects, and holds instances of these objects with relation to each other in accordance with the folder and file structure in the digital camera 100. That is, when the camera 100 is connected to the PC 101, the driver software 202 creates the object tree in accordance with the structure of all folders and image files in the camera 100. Therefore in the case where a large number of image files are stored in the digital camera 100, users need to spend substantial amount of time when the camera 100 is connected to the PC 101 and have to wait without moving on to the next operation.

[0049] As a countermeasure against this matter, a method of managing objects, which is a characteristic of this embodiment, will be described below.

[0050] First, information shown in FIG. 5 is used as attribute information of one object. The attribute information is roughly classified into two categories. Information acquirable from management information managed by a file system in the digital camera 100, in other words, information acquirable within relatively short periods of time, is classified as a category 1, which includes FileName representing each file name, FileSize representing the size of each file, and FileStamp representing date and time on which each file was created.

[0051] Classified as a category 2 is information unacquirable unless contents of each file are interpreted, in other words, information requiring some time to be acquired. In this embodiment, it takes longer time to acquire the information of the category 2 than that of the category 1. In an example shown in FIG. 5, ThumbnailSize representing data size of a thumbnail, ImageSize representing the number of vertical and horizontal pixels of an image, ThumbnailData representing actual thumbnail data, ImageProperties representing each image property, and the like are classified as the category 2. These attribute information are used when the driver software 202 running on the PC 101 manages the object tree, and also are stored on the DRAM in the digital camera 100 as a management table for the purpose of more quickly responding to the second and subsequent acquisition requests for the same information.

[0052]FIG. 6 is a sequence diagram showing a flow since the digital camera 100 is connected to the PC 101 until the application software 201 on the PC 101 acquires information of a file.

[0053] When the digital camera 100 is connected to the PC 101 through the USB cable, the driver software 202 is loaded by the operating system. The activated driver software 202 first issues OpenSession operation to the camera 100 and initiates connection therewith. At this moment, the camera 100 generates a Storage ID (management ID of each recording medium such as a compact flash (CF)). In the generation process, initialization, for instance, of Storage ID is performed.

[0054] Next, the driver software 202 issues GetNumObject operation to acquire data of how many pieces of object data exist in the digital camera 100. At this moment, the digital camera 100 generates object attribute information corresponding to category 1 which is acquirable in relatively short periods of time, previously mentioned. The driver software 202 then issues GetObjectHandles operation to acquire handles of all folders and files in the camera 100.

[0055] Subsequently, the driver software 202 issues GetObjectInfoEx operation to acquire a part of the object attribute information (category 1) for every object from the camera 100. This operation is repeated to all object handles acquired previously. Operations up to here are performed at the time when the camera 100 is connected to the PC 101.

[0056] When the application software 201 is activated on the PC 101 by an end user and all object information of a desired object are to be acquired from the digital camera 100, the application software 201 issues GetItemProperty operation for the desired object to the driver software 202. In response to this request, the driver software 202 issues GetObjectInfoFull operation to the camera 100. Upon receipt of this operation, the camera 100 once reads a file header and the like of the object attribute information shown in FIG. 5 for only the objects designated by the application software 201, and generates object attribute information corresponding to category 2 which is unacquirable without analysis and thus requires some time for acquisition processing, and then stores the generated information in the aforementioned management table in the camera 100. The camera 100 also returns the generated object attribute information of category 2 to the PC 101. The application software 201 repeats the above operation for necessary objects.

[0057] The following paragraph deals with operations of the driver software 202 referring to the flowchart in FIG. 7.

[0058] When the driver software 202 is activated by the operating system upon the connection between the digital camera 100 and the PC 101, the driver software 202 acquires a name of camera model, a vendor's name, and device information such as supported operations or types of event, in preparation for communication with the digital camera 100 (step S701).

[0059] The digital camera 100 is Design rule for Camera File system (DCF) compliant. The driver software 202 locates a DCIM folder in a recording medium provided in the digital camera 100, and retrieves DCF-compliant folders among subfolders of the DCIM folder to create an object tree using the retrieved folders as folder objects (step S702).

[0060] By the aforementioned GetNumObject operation, GetObjectHandles operation, and GetObjectInfoEx operation, the driver software 202 repetitively acquires a part of the object attribute information of every object in the camera 100, which is acquirable in relatively short periods of time and also corresponds to the above described category 1, and then sequentially stores the acquired partial attribute information in the previously created object tree (steps S703 and S704). When the acquisition processing is completed for all objects (No in step S703), the operations of the driver software performed at the time of connection between the camera 100 and the PC 101 are finished.

[0061] After that, the driver software 202 determines the presence or absence of a request from the application software 201 (step S705), and when the request from the application software 201 arises and the object attribute information of category 1 stored in the object tree created by the driver software 202 is sufficient enough to cope with the request (YES in step S706), the driver software 202 responds to the application software 201 without accessing the digital camera 100 (step S707).

[0062] When the object attribute information of category 1 is not sufficient enough to cope with the request from the application software 201 (NO in step S706), it is necessary to acquire object attribute information of category 2. However, if there is a history that the a target object has been acquired before from the camera 100, the target object attribute information has already been stored in the object tree managed by the driver software 202. Accordingly, the driver software 202 ascertains whether it has been stored or not (step S708), and when the target object attribute information has been already stored in the object tree (YES in step S708), the driver software 202 responds to the application software 201 in accordance with the stored information, without accessing the digital camera 100 (step S710). When the target object attribute information has not been stored (NO in step S708), the driver software 202 requests from the camera 100 the object attribute information of category 2 which requires some time for acquisition processing, and stores the acquired object attribute information in the object tree (step S709).

[0063] As described above, in a protocol handling files and the like in the camera as objects, such as a PTP, this embodiment achieves decentralization of time-consuming operations in the camera as much as possible and provides an operational environment relatively convenient for users even when large amount of data resides in the camera.

[0064] The above embodiment has dealt with the case where the present invention is applied to the digital camera. The present invention is, however, not limited thereto and is also applicable to a digital video camera and portable type terminal devices having a camera module, such as a portable telephone, and a personal digital assistant (PDA). The present invention is also applicable to a network camera system in which a driver in a camera control terminal executes the processes in FIG. 8 and FIG. 9 in response to connection with the network camera via the network.

[0065] Furthermore, the attribute information is classified as shown in FIG. 5 in the above embodiment. The present invention is, however, by no means limited thereto, and classification may depend on a file system management method of a connected digital camera. For example, when a file system of the connected digital camera manages up to attribute Imagesize, the driver software may classify Imagesize as the category 1.

[0066] Moreover, in the above embodiment, physical connection between the PC and digital camera leads to activation of the driver software and thereafter processing in FIG. 9 is automatically started. However, start timing of this processing in FIG. 9 is not limited thereto. For example, it is also allowable that, after activation of the application software, the driver software is activated and also connection with the digital camera is established in response to user's input operation onto an operation screen for directing connection with the digital camera, and afterwards the processing in FIG. 9 is started.

Other Embodiments

[0067] The present invention can be implemented by supplying a software program, which implements the functions of the foregoing embodiments, directly or indirectly to a system or apparatus, reading the supplied program code with a computer of the system or apparatus, and then executing the program code. In this case, so long as the system or apparatus has the functions of the program, the mode of implementation need not rely upon a program.

[0068] Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the claims of the present invention also cover a computer program for the purpose of implementing the functions of the present invention.

[0069] In this case, so long as the system or apparatus has the functions of the program, the program may be executed in any form, such as an object code, a program executed by an interpreter, or scrip data supplied to an operating system.

[0070] Example of storage media that can be used for supplying the program are a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a CD-RW, a magnetic tape, a non-volatile type memory card, a ROM, and a DVD (DVD-ROM and a DVD-R).

[0071] As for the method of supplying the program, a client computer can be connected to a website on the Internet using a browser of the client computer, and the computer program of the present invention or an automatically-installable compressed file of the program can be downloaded to a recording medium such as a hard disk. Further, the program of the present invention can be supplied by dividing the program code constituting the program into a plurality of files and downloading the files from different websites. In other words, a WWW (World Wide Web) server that downloads, to multiple users, the program files that implement the functions of the present invention by computer is also covered by the claims of the present invention.

[0072] It is also possible to encrypt and store the program of the present invention on a storage medium such as a CD-ROM, distribute the storage medium to users, allow users who meet certain requirements to download decryption key information from a website via the Internet, and allow these users to decrypt the encrypted program by using the key information, whereby the program is installed in the user computer.

[0073] Besides the cases where the aforementioned functions according to the embodiments are implemented by executing the read program by computer, an operating system or the like running on the computer may perform all or a part of the actual processing so that the functions of the foregoing embodiments can be implemented by this processing.

[0074] Furthermore, after the program read from the storage medium is written to a function expansion board inserted into the computer or to a memory provided in a function expansion unit connected to the computer, a CPU or the like mounted on the function expansion board or function expansion unit performs all or a part of the actual processing so that the functions of the foregoing embodiments can be implemented by this processing.

[0075] As many apparently widely different embodiments of the present invention can be made without departing from the spirit and scope thereof, it is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the appended claims. 

What is claimed is:
 1. An information acquisition method for an information processing apparatus which acquires attribute information related to image data of images stored in an external device, comprising: detecting whether the information processing apparatus is connected to the external device so that they can communicate with each other; and acquiring partial information of the attribute information for each of the images when the information processing apparatus is connected to the external device.
 2. The information acquisition method according to claim 1, wherein the partial information of the attribute information requires relatively short periods of time for information acquisition processing of the information processing apparatus.
 3. The information acquisition method according to claim 1, further comprising: in response to a request for an image by the information processing apparatus, acquiring from the external device the attribute information of the requested image except for the previously acquired partial information of the attribute information.
 4. An information processing method for an image recording apparatus which generates attribute information related to image data of stored images, comprising: detecting whether the image recording apparatus is connected to an external device so that they can communicate with each other; generating partial information of the attribute information for each of the images when the image recording apparatus is connected to the external device; and transmitting the generated partial information of the attribute information to the external device.
 5. The information processing method according to claim 4, wherein the partial information of the attribute information requires relatively short periods of time for information acquisition processing of the external device among the attribute information.
 6. The information processing method according to claim 4, further comprising: in response to a request for an image by the external device, generating the attribute information of the requested image except for the previously generated partial information of the attribute information; and transmitting the generated attribute information to the external device.
 7. An information processing apparatus comprising: a connection unit that is connectable to an external device so to be communicated therewith; and an attribute information acquisition unit that acquires attribute information related to image data of images recorded in the external device, wherein said attribute information acquisition unit acquires from the external device partial information of the attribute information for each of the images when the information processing apparatus is connected to the external device.
 8. The information processing apparatus according to claim 7, wherein the partial information of the attribute information requires relatively short periods of time for information acquisition processing of the information processing apparatus among the attribute information.
 9. The information processing apparatus according to claim 7, wherein, in response to a request for an image by the information processing apparatus, said attribute information acquisition unit acquires from the external device the attribute information of the requested image except for the previously acquired partial information of the attribute information.
 10. An image recording apparatus comprising: an attribute information generation unit that generates attribute information related to image data of recorded images; and a transmission unit that transmits the attribute information generated by said attribute information generation unit to an external device, wherein when the image recording apparatus is connected to the external device so that they can communicate with each other, the attribute information generation unit generates partial information of the attribute information for each of the images, and the transmission unit transmits the generated partial information to the external device.
 11. The image recording apparatus according to claim 10, wherein the partial information of the attribute information requires relatively short periods of time for information acquisition processing of the external device.
 12. The image recording apparatus according to claim 10, wherein, in response to a request for an image by the external device, said attribute information generation unit generates the attribute information of the requested image except for the previously acquired partial information of the attribute information, and said transmission unit transmits to the external device the generated attribute information except for the previously generated partial information of the attribute information.
 13. An information processing method for a digital imaging system having a digital image generating apparatus and an information processing apparatus, the digital image generating apparatus storing image data of a plurality of generated images as image files in a storage device, said method comprising: the image processing apparatus managing a plurality of pieces of attribute information contained in object information related to each of the image files in the digital image generating apparatus in two or more categories; and the image processing apparatus creating for each of the image files, an object only containing information in a part of the categories out of the plurality of pieces of attribute information when the digital image generating apparatus is connected to the information processing apparatus.
 14. The information processing method according to claim 13, wherein, when an application running on the information processing apparatus requires overall image data of an image, the digital image generating apparatus generates attribute information of the required image except for the attribute information in the part of the categories generated at the time of the connection between the information processing apparatus and the digital image generating apparatus, and the information processing apparatus acquires the generated attribute information, and then stores and manages the generated attribute information in the object created at the time of the connection.
 15. The information processing method according to claim 13, wherein the information in the part of the categories of the attribute information is acquired from management information held by a file system in the digital image generating apparatus.
 16. The information processing method according to claim 14, wherein the attribute information except for the information in the part of the categories of the attribute information contains data in a file stored in the digital image generating apparatus.
 17. A storage medium having stored therein a program for causing a computer to execute the information acquisition method according to claim
 1. 18. A storage medium having stored therein a program for causing a computer to execute the information processing method according to claim
 4. 19. A storage medium having stored therein a program for causing a computer to execute the information processing method according to claim
 13. 